package utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * @author 崔书健
 * @date 2024/7/26
 */
public class ConfigManager {

    private static Properties properties;
    private static ConfigManager configManager = new ConfigManager();

    // 杜绝外界创建该类对象，私有构造方法
    private ConfigManager(){
        String configFile = "database.properties";
        properties = new Properties();
        // 得到当前类的类加载器并将配置文件加载到输入流中
        InputStream is = ConfigManager.class.getClassLoader().getResourceAsStream(configFile);
        try {
            // 从输入流中读取属性列表
            properties.load(is);
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

//    /**
//     * 对外提供的获取ConfigManager实例 的方法
//     * 懒汉模式
//     * @return
//     */
//    public static synchronized ConfigManager getInstance(){
//        if(configManager == null){
//            configManager = new ConfigManager();
//        }
//        return configManager;
//    }

    /**
     * 对外提供的获取ConfigManager实例 的方法
     * 饿汉模式
     * @return
     */
    public static ConfigManager getInstance(){
        return configManager;
    }

    public String getValue(String key){
        return properties.getProperty(key);
    }
}
